package edu.nf.takeoutdemo.commons.config;

import edu.nf.takeoutdemo.commons.properties.AliOssProperties;
import edu.nf.takeoutdemo.commons.utils.AliOssUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 *
 * @author zjl
 * @date 2025/10/27
 *  注解@ConditionalOnMissingBean只创建一次，当没有的时候就创建
 */
@Configuration
@Slf4j
public class OssConfig {
    @Bean
    @ConditionalOnMissingBean
    public AliOssUtil aliOssUtil(AliOssProperties aliOssProperties) {
        log.info("开始创建阿里云文件上传工具类对象：{}", aliOssProperties);
       return new AliOssUtil(aliOssProperties.getEndpoint(),
               aliOssProperties.getAccessKeyId(),
               aliOssProperties.getAccessKeySecret(),
               aliOssProperties.getBucketName());
    }
}
